Removable storage accelerator device

ABSTRACT

An accelerator device including a cache memory, a controller that is electrically coupled to the cache memory, a host computer connecter that is electrically coupled to the controller, and a removable storage device connector that is electrically coupled to the controller. The accelerator device can be electrically coupled to a host computer via the host computer connector. The accelerator device can also be electrically coupled to a removable storage device via the removable storage device connector. When the accelerator device is electrically coupled to the host computer and the removable storage device is electrically coupled to the accelerator device, the controller caches data sent from the host computer to the removable storage device in the cache memory prior to the data being sent from the accelerator device to the removable storage device.

TECHNICAL FIELD

The invention relates to removable storage devices and, in particular,devices for use with removable storage devices.

BACKGROUND

A wide variety of removable storage devices exist for use with voicerecorders, digital video camcorders, digital cameras, personal digitalassistants (PDAs), cellular phones, video games, digital televisions,photo printers, and the like. The removable storage devices can allowusers to capture and store data on such devices, and easily transportthe data between these devices and host computers. In addition,removable storage media devices can be used to backup data from a hostcomputer or to transport data from a host computer to another device bytransferring data contained on the host computer to the removablestorage device.

One of the most popular types of removable storage devices utilizesflash memory, such as flash memory cards and flash memory drives, whichare compact, easy to use, and have no moving parts. A flash memory cardor drive includes an internal, high-speed solid-state memory capable ofpersistently storing data without application of power. A wide varietyof flash memory cards have been recently introduced, each havingdifferent capacities, access speeds, formats, interfaces, andconnectors. Examples of flash memory cards include CompactFlash (CF)first introduced by SanDisk Corporation, the Memory Stick (MS) andsubsequent versions including Memory Stick Pro and Memory Stick Duodeveloped by Sony Corporation, Smart Media memory cards, Secure Digital(SD) memory cards, and MultiMedia Cards (MMCs) jointly developed bySanDisk Corporation and Siemens AG/Infineon Technologies AG, and xDdigital memory cards developed by Fuji. Many other flash memory cardstandards continue to emerge and evolve.

Another type of removable storage device utilizes hard disk memory, suchas hard disk cartridges, zip disks, and external portable hard diskdrives. Unlike flash memory, hard disk memory devices generally includemoving parts to read or write data to the memory. For example, portablehard disk memory devices typically include one or more rotating magneticdisks and one or more transducer heads that move radially relative tothe rotating magnetic disks. Examples of removable storage devicesutilizing hard disk memory include, but are not limited to commerciallyavailable HDD products, such as, e.g., REV developed by IOMEGA Corp. ofSan Diego, Calif.; GoVault by Quantum of San Diego, Calif.; RDX byProstor Systems, Inc. of Boulder, Colo.; Odyssey by Imation of Oakdale,Minn.; and iVDR by iVDR Consortium.

Numerous other types of memory can also be used in removable storagedevices, including electrically-erasable-programmable-read-only-memory(EEPROM), non-volatile random-access-memory (NVRAM), and othernon-volatile memory types. Volatile memory types, such as dynamicrandom-access-memory (DRAM) and synchronous dynamic random-access-memory(SDRAM), can also be used although volatile memory types require powerto store data.

Removable storage devices typically include a unique connector, whichdefines the electrical and mechanical interfaces of the device. In somecases, the connector associated with a removable storage device allowsthe device to be directly connected to a host computer to transfer data.For example, a flash drive typically includes a male USB connector thatmay be connected directly to a host computer's corresponding female USBconnector. In other cases, however, the removable storage media devicesmay require a specialized adapter or reader in order to be read by ahost computer. The adapter or reader may include a specialized connectorthat conforms to that of the removable storage device, but may alsoinclude a host connector configured to be accepted by a host computer.In this way, an adaptor or reader can allow a host computer to read datafrom and write data to a removable storage device that cannot otherwiseconnect to the host computer.

In some cases, a host computer is able to send data to a removablestorage device at a transfer rate that exceeds the rate in which datacan be written to the removable storage device. Consequently, the timerequired to complete the transfer of data from a host computer to aremovable storage device is limited by the rate the data can be writtento the removable storage device. Moreover, if the removable storagedevice is disconnected from the host computer before all the data fromthe host computer is written to the storage media, then a portion of thedata intended to be transferred may not be successfully stored on theremovable storage device. Accordingly, to ensure that all the data issuccessfully transferred from the host computer to a removable storagedevice, a removable storage device must typically be connected to a hostcomputer for extended periods of time.

SUMMARY

In general, the invention is related to devices, systems and methodsthat may be utilized to transfer data between a host computer and aremovable storage device. For example, in some embodiments, a hostcomputer and a removable storage device may be electrically coupled viaan accelerator device. Accordingly, data may be transferred between thehost computer and the removable storage device via the acceleratordevice. The accelerator device may contain a cache memory that cachesdata sent from the host computer to the removable storage device priorto the data being sent from the accelerator device to the removablestorage device.

In one embodiment, the invention is directed to a device comprising acache memory; a controller electrically coupled to the cache memory; ahost computer connecter electrically coupled to the controller, whereinthe accelerator device can be electrically coupled to a host computervia the host computer connector; and a removable storage deviceconnector electrically coupled to the controller, wherein a removablestorage device can be electrically coupled to the accelerator device viathe removable storage device connector, wherein when the acceleratordevice is electrically coupled to the host computer and the removablestorage device is electrically coupled to the accelerator device, thecontroller caches data sent from the host computer to the removablestorage device in the cache memory prior to the data being sent from theaccelerator device to the removable storage device.

In another embodiment, the invention is directed to a method comprisingcoupling an accelerator device to a host computer, the device comprisinga cache memory; a controller electrically coupled to the cache memory; ahost computer connecter electrically coupled to the controller, whereinthe accelerator device can be electrically coupled to the host computervia the host computer connector; and a removable storage deviceconnector electrically coupled to the controller, wherein a removablestorage device can be electrically coupled to the accelerator device viathe removable storage device connector; coupling the removable storagedevice to the accelerator device via the removable memory deviceinterface; and transferring data from the host computer to the removablestorage media device via the accelerator device, wherein the controllercaches data sent from the host computer to the removable storage devicein the cache memory prior to the data being sent from the acceleratordevice to the removable storage device.

In another embodiment, the invention is directed to a system comprisinga removable storage device; and an accelerator device, the acceleratordevice comprising: a cache memory; a controller electrically coupled tothe cache memory; a host computer connecter electrically coupled to thecontroller, wherein the accelerator device can be electrically coupledto a host computer via the host computer connector; and a removablestorage device connector electrically coupled to the controller, whereinthe removable storage device can be electrically coupled to theaccelerator device via the removable storage device connector, whereinwhen the accelerator device is electrically coupled to the host computerand the removable storage device is electrically coupled to theaccelerator device, the controller caches data sent from the hostcomputer to the removable storage device in the cache memory prior tothe data being sent from the accelerator device to the removable storagedevice.

Embodiments of the present invention may provide for one or moreadvantages. For example, in some embodiments, an accelerator device mayinclude a cache memory that allows data to be cached at a speed that isgreater than the speed that the data can be written to the removablestorage device from the host computer. Accordingly, the time required tosuccessfully transfer data from a host computer to the acceleratordevice may be less than that required to transfer data from the hostcomputer directly to the removable storage media device.

As another example, in some embodiments, an accelerator device mayinclude a power source that provides energy for the accelerator deviceto operate. Accordingly, the power source may allow an acceleratordevice to send data to a removable storage device without requiringpower from an external source, e.g., a host computer.

The details of one or more embodiments of the invention are set forth inthe accompanying drawings and the description below. Other features,objects, and advantages of the invention will be apparent from thedescription and drawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a functional block diagram illustrating an exemplaryaccelerator device according to an embodiment of the present invention.

FIG. 2 is a schematic diagram illustrating an exemplary system accordingto an embodiment of the present invention.

FIG. 3 is a functional block diagram illustrating an exemplaryaccelerator device according to an embodiment of the present invention.

FIG. 4 is a schematic diagram illustrating an exemplary acceleratordevice according to an embodiment of the present invention.

FIG. 5 is a flow chart illustrating an exemplary method according to anembodiment of the present invention.

FIG. 6 is a flow chart illustrating another exemplary method accordingto an embodiment of the present invention.

DETAILED DESCRIPTION

In some embodiments, the present invention relates to an acceleratordevice that may be used to electrically couple a removable storagedevice to a host computer such that data may be transferred between theremovable storage media device and the host computer via the acceleratordevice. The accelerator device may include a removable storage deviceconnector, a host computer connector, and cache memory. The connectorsallow the accelerator device to be electrically coupled to a removablestorage device and a host computer, respectively. Data may betransferred between the host computer and the removable storage devicevia the accelerator device when the accelerator device is electricallycoupled to a removable storage device and a host computer. Data sent bya host computer to the removable storage device may be cached in thecache memory of the accelerator device prior to being sent from theaccelerator device to a removable storage device.

The removable storage device connector and host computer connector maybe removably connected to the accelerator device. Accordingly, theaccelerator device is not limited to use with a single removable storagedevice or to a single host computer. Rather, a user may connect anddisconnect different individual removable storage devices to theaccelerator device, and may couple the accelerator device to differenthost computers.

In some embodiments, the accelerator device allows data sent from a hostcomputer to be written to a cache memory of the accelerator device at aspeed that is greater than the speed that the data can be written to theremovable storage device from the host computer. Accordingly, the timerequired to successfully transfer data from a host computer to theaccelerator device may be less than that required to transfer data fromthe host computer directly to the removable storage media device. Theaccelerator device may store such data temporarily until such data isaccurately transferred to the removable storage media device.Accordingly, the combination of the removable storage media device andthe accelerator device may allow users to seemingly transfer data fromthe host computer and the removable storage media device at the improveddata transfer rate associated with the accelerator device.

Further, in some embodiments, an accelerator device may include a powersource that supplies sufficient energy to operate the accelerator devicewithout requiring additional energy from an external source, such as ahost computer. For example, a power source of an accelerator device maystore an amount of voltage that is sufficient to allow the controller tosend cached data from the cache memory of the accelerator device to aremovable storage device without an additional supply of voltage from anexternal device. Accordingly, data may be sent from the acceleratordevice to a removable storage device without requiring power from thehost computer. In some cases, the internal power source may allow anaccelerator device to be decoupled from a host computer prior to all ofthe data being successfully written to the removable storage devicebecause the accelerator device is able to successfully send the cacheddata in the cache memory to the removable storage device withoutrequiring additional power from the host computer. Additionally, thepower source may provide a primary or back-up source of voltage in anaccelerator device that utilizes volatile memory, e.g., DRAM or SDRAM,as cache memory to allow for data to be stored on the cache memorywithout requiring an external power source, such as a host computer.

FIG. 1 is a functional block diagram illustrating exemplary acceleratordevice 100 according to an embodiment of the invention. Acceleratordevice 100 includes a controller 102, a cache memory 104, a removablestorage device connector 106 and a host computer connector 108. Asillustrated by FIG. 1, controller 102 is electrically coupled toremovable storage device connector 106 and also electrically coupled tohost computer connector 108. Therefore, removable storage deviceconnector 106 and host computer connector 108 are electrically coupledvia controller 102. Furthermore, controller 102 is electrically coupledto cache memory 104. Accordingly, removable storage device connector 106may be also electrically coupled to cache memory 104 via controller 102,and host computer connector 108 may be electrically coupled to cachememory 104 via controller 102. In some embodiments, device 100 mayoptionally include power source 110, as indicated by the dashed lines inFIG. 1. As shown, power source 110 may be electrically coupled tocontroller 102. Accordingly, power source 110 may also be electricallycoupled to cache memory 104, host computer connecter 108, and removablestorage device connector 106, via controller 102.

Removable storage device connector 106 is configured to connect to aremovable storage device (not shown). The removable storage device mayinclude a connector that conforms to same connector standard associatedwith removable storage device connector 106, which allows the removablestorage device to be electrically coupled to accelerator device 100 viaremovable storage device connector 106. For example, removable storagedevice connector 106 may conform to a connector standard associated witha removable storage device such as a Compact Flash standard, a SmartMedia standard, a MultiMedia Card standard, a Secure Digital standard, aMemory Stick standard, an xD standard, a Universal Serial Bus (USB)standard, a Universal Serial Bus 2 (USB 2) standard, a Small ComputerSystem Interface (SCSI) standard, Serial Attached SCSI (SAS), an AdvanceTechnology Attachment (ATA) standard, and a serial ATA (SATA) standard.In other cases, removable storage device connector 106 may conform to aspecially designed standard that may be unique to the specific type ofdevice. In any case, when electrically coupled via device connector 106,data may be transferred between accelerator device 100 and the connectedremovable storage device.

Host computer connector 108 is configured to connect to a host computerport conforming to the same connector standard as the host computerconnector 108 to couple the host computer to accelerator device 100. Forexample, host computer connector 108 may conform to a connector standardassociated with a host computer such as personal computer memory cardinternational association (PCMCIA) standard, PC Card standard, a CardBusstandard, a Universal Serial Bus (USB) standard, a Universal Serial Bus2 (USB2) standard, an IEEE 1394 FireWire standard, a Small ComputerSystem Interface (SCSI) standard, Serial Attached SCSI (SAS), an AdvanceTechnology Attachment (ATA) standard, a serial ATA (SATA) standard, aPeripheral Component Interconnect (PCI) standard, and a conventionalserial or parallel standard. By connecting a host computer toaccelerator device 100 via host computer connector 108, a host computermay be electrically coupled to accelerator device 100. When electricallycoupled via host computer connector 108, data may be transferred betweenaccelerator device 100 and the connected host computer.

Accordingly, as indicated by FIG. 1, device 100 may be electronicallycoupled to both a removable storage device and a host computer at thesame time. Such a configuration allows a removable storage device to beelectronically coupled to a host computer via accelerator device 100.Consequently, data may be transferred between the host computer to theremovable storage device via accelerator device 100. For example, when ahost computer and removable storage device are both connected toaccelerator device 100, data that is stored on a host computer may besent by the host computer to a removable storage device via acceleratordevice 100. Accelerator device 100 receives the data sent by the hostcomputer, which can be sent from accelerator device 100 to the removablestorage device. When the data is received by the removable storagedevice, it is written to the storage medium of the removable storagedevice.

Controller 102 controls data received from a host computer or removablestorage device that is coupled to accelerator device 100 via hostconnector 108 or removable storage device connector 106, respectively.In some embodiments, controller 102 controls data received from a hostcomputer so that the data is cached in cache memory 104 prior to sendingthat data to a removable storage device via removable device connector106. In such cases, controller 102 also controls data contained in cachememory 104 to be sent to a removable storage device that is coupled toaccelerator device 100 via removable storage device connector 106. Insome embodiments, controller 102 may control data received from a hostcomputer so that it is sent directly to a removable storage device viaremovable storage device connector 106 without caching the data in cachememory 104.

Accelerator device 100 uses cache memory 104 to cache data received froma host computer that is electrically coupled to device 100 via hostcomputer connecter 108. As previously explained, controller 102 maycontrol data received by device 100 from a host computer to be cached incache memory 104 prior to being sent to a removable storage device viaremovable device connector 106. Cache memory 104 may include anysuitable memory capable of temporarily storing data received byaccelerator device 100 and may suitably function as a write cachememory, read cache memory or both. For example, cache memory 104 may beflash memory, dynamic random access memory (DRAM), or synchronousdynamic random access memory (SDRAM).

The maximum amount of data that may be cached to cache memory 104 canvary according to embodiments of the invention. For example, in someembodiments the maximum amount of data that can be stored to cachememory 104 may range from approximately 8 megabytes to approximately 4gigabytes, such as approximately 64 megabytes to approximately 2gigabytes. In some embodiments, the maximum amount of data that can becached to cache memory 104 may be suitable to function substantially asdescribed herein.

Further, the maximum amount of data that can be cached to cache memory104 may vary with respect to the storage capacity of a removable storagedevice. In some embodiments, the maximum amount of data that can bestored to cache memory 104 may range from approximately 0.1 percent toapproximately 25 percent of the maximum capacity of the primary memoryof a removable storage device. However, as accelerator device 100 may beutilized with multiple individual removable storage devices which mayhave different storage capacities, in some cases, the capacity of cachememory with respect to the maximum capacity of the primary memory of aremovable storage device can vary depending on the respective removablestorage device. For example, in some embodiments, the maximum capacityof cache memory 104 may be less than the maximum capacity of a firstremovable storage device, while also being equal to a greater than themaximum capacity of a second removable storage device. In some cases,the capacity of a cache memory may be limited by economic reasons.

In general, the speed that data can be written to a memory variesbetween the different types of memory. For example, data typically maybe written to flash memory, DRAM, and SDRAM at a higher speed than thatof a hard disk. Moreover, data typically may be written to DRAM andSDRAM at a higher speed than flash memory. Consequently, the speed atwhich data is cached by accelerator 100 depends on the type of memoryused for cache memory 104. Similarly, the speed at which data may bewritten to a removable storage device also depends on the type of memoryused in the removable storage device. For example, data sent from a hostcomputer may be written to a removable storage device having flashmemory at a higher speed than to a removable storage device having harddisk memory. In some cases, for example, the speed that data may bewritten to hard disk memory may range from about 40 to about 80megabytes per second, depending on the recording density, rotation speedand connection interface; the speed that data may be written to flashmemory may range from about 40 to about 130 megabytes per second; andthe speed that data may be written to DRAM and SDRAM may be greater thanabout 100 megabytes per second.

As described previously, the speed at which a host computer can senddata to a removable storage device is typically greater than the speedthat the data may be written to the removable storage device. In suchcases, the time required for data to be successfully transferred from ahost computer to a removable storage device is primarily limited by thespeed that the data may be written to the removable device. Furthermore,the host computer is required to be electrically coupled to theremovable storage device throughout the entire time required to writethe data to removable storage device, even though the host computercould transfer the data in a shorter amount of time.

Consequently, in some embodiments, accelerator device 100 utilizes atype of memory for cache memory 104 that allows accelerator device 100to cache data sent from a host computer at a higher speed than the samedata can be written to a removable storage device from the hostcomputer. For example, accelerator device 100 may include removablestorage device connector 106 that is configured to connect to a harddisk cartridge, which utilizes hard disk memory. In such cases, cachememory 104 of accelerator device 100 may be any type of memory thatallows data sent from a host computer to be cached at a speed greaterthan the data can be written to the hard disk cartridge, e.g., flashmemory, DRAM or SDRAM.

As another example, accelerator device 100 may include removable storagedevice connector 106 that is configured to connect to an xD memory card,which utilizes flash memory. In such cases, cache memory 104 ofaccelerator device 100 may be any type of memory that allows data sentfrom a host computer to be cached at a speed greater than the data canbe written to the xD memory card, e.g., DRAM or SDRAM. In suchembodiments, accelerator 100 may receive data sent from an electricallycoupled host computer to be stored on the removable storage device alsoelectrically coupled to accelerator device 100. Accelerator device 100caches the data received from the host computer in cache memory 104.After caching the data, accelerator device 100 sends the data from cachememory 104 to the removable storage device. As a result, data sent fromthe host computer may be written to the combination of acceleratordevice 100 and an electrically coupled removable storage device in ashorter amount of time than the data could be written directly to theremovable storage device.

When electrically coupled to a host computer via host computer connector108, accelerator device 100 can receive energy from the host computer tooperate as described herein. For example, accelerator device 100 may beconnected to a host computer via a USB connection which permitsaccelerator device 100 to receive a voltage from the host computer.Similarly, other connection standards besides USB connections can allowvoltage to be supplied from a host computer to an electrically coupledaccelerator device 100. In general, the energy supplied by anelectrically coupled host computer to accelerator device 100 may be usedby accelerator device 100 to operate substantially as described herein.

Notwithstanding the ability to receive power from a source computer, asillustrated by FIG. 1, accelerator device 100 may optionally includepower source 110. Power source 110 may provide an amount of energy thatcan be used to operate accelerator device 100. In some embodiments,power source 110 provides a sufficient amount of energy to operateaccelerator device 100 as described herein without the requiringadditional energy from a host computer. For example, power source 110may provide energy to maintain cached data in embodiments in which cachememory 104 is a volatile memory type such as DRAM or SDRAM. Power source110 may also provide energy to transfer data that is cached on cachememory 104 to a removable storage device without requiring additionalenergy from a host computer. For example, power source 110 may store anamount of voltage sufficient to send the maximum amount of data capableof being cached on cache memory 104 to a removable storage device. Assuch, power source 110 may allow for a host computer to be decoupledfrom accelerator device 100 before all the data sent from the hostcomputer is written to the removable storage device.

Accordingly, power source 110 may include any suitable components thatmay be configured to supply energy to accelerator device 100 asdescribed above. For example, power source 110 may include anuninterruptible power supply (UPS). In some embodiments, a UPS mayinclude one or more capacitors to provide energy to accelerator device100. The one or more capacitors may be capable of storing an amount ofvoltage sufficient to allow controller 102 to send an amount of datastored in memory cache 104 to a removable storage media device whenaccelerator device 100 is decoupled from the host computer. As anotherexample, power source 110 may include one or more batteries to provideenergy to accelerator device 100. In some embodiments, one or morebatteries may provide all or a portion of the energy required to operateaccelerator device 100 without requiring additional energy from a hostcomputer.

FIG. 2 is a schematic diagram illustrating an exemplary system 200according to an embodiment of the present invention. System 200 includesan accelerator device 202, a host computer 204 having a host computerport 222 and a removable storage device 206, which is shown as aremovable hard disk cartridge 206 having a cartridge connector 224.

Accelerator device 202 includes host connector 208, removable storagedevice connector 210, controller 212, cache memory 216, and power source214, all of which are consistent with the corresponding featuresdescribed with respect to FIG. 1. In addition, accelerator device 202also includes an indicator element 218 and a printed circuit board 220on which connectors 208 and 210, controller 212, cache memory 216, powersource 214 and indicator element 218 are provided.

As illustrated by FIG. 2, accelerator device 202 may be removablyconnected to both host computer 204 and removable cartridge 206.Consequently, data may be transferred from host computer 204 toremovable cartridge 206 via accelerator device 202. More specifically,as shown, cartridge connector 224 and removable storage device connector210 conform to a Small Computer System Interface (SCSI) standard.Accordingly, cartridge connector 224 connects to removable storagedevice connecter 210 to electrically couple hard disk cartridge 206 andaccelerator device 202. By electrically coupling the accelerator device202 to hard disk cartridge 206 via device connector 210 and cartridgeconnecter 224, data may be transferred between accelerator device 202and disk cartridge 206. Unlike cartridge connector 224 and removablestorage device connector 210, host computer port 222 and host computerconnector 208 conform to the Universal Serial Bus (USB) connectorstandard. Accordingly, host computer connector 208 may be inserted intohost computer port 222 to electrically couple host computer 204 toaccelerator device 202. When electrically coupled to one another viaconnector 208 and port 222, data may be transferred between hostcomputer 204 and accelerator device 202.

Furthermore, electrically coupling host computer 204 and acceleratordevice 202 via the USB connection allows host computer 204 to supply avoltage to accelerator device 204. Controller 212 controls voltagereceived from host computer 204 via host computer connecter 208 suchthat accelerator device 202 operates substantially as described herein.For example, accelerator device 202 may use voltage to cache datareceived from host computer 204 prior to sending the data to removablehard disk cartridge 206. In addition, accelerator device 202 may providethe voltage to removable hard disk cartridge 206 so that data sent byaccelerator device 202 may be written to cartridge 206 memory.

To transfer data from host computer 204 to removable cartridge 206 viaaccelerator device 202, data is sent from host computer 204 to removablecartridge 206 when they are electrically coupled to one another viaaccelerator device 202. As configured, the data is first received byaccelerator device 202 via host computer connector 208. Controller 212may cache the data received from the host computer 204 in cache memory216 prior to the data being sent from accelerator device 202 toremovable hard disk cartridge 206. As described previously, anaccelerator device can include a type of cache memory that allows datasent from a host computer to be cached at a speed greater than the datacan be written to a connected removable storage device from a hostcomputer. In the embodiment illustrated in FIG. 2, cache memory 216utilizes flash memory such that data sent by host computer 204 may becached by accelerator device 202 at a higher speed than the data couldbe written to removable hard disk cartridge 206, which utilizes harddisk memory. By caching the data sent by host computer 204 to removablecartridge 206, the time required for data sent from host computer 204 tobe successfully written to the combination of accelerator device 202 andremovable hard disk cartridge 206 is less than the time required for thedata to be successfully written to removable hard disk cartridge 206only.

In some embodiments, when accelerator device 202 is electrically coupledto host computer 204 and removable cartridge 206, data may also be sentfrom removable cartridge 206 to host computer 204 via accelerator device202, e.g., when host computer 204 reads data stored on removablecartridge 206. As configured in FIG. 2, data sent from removablecartridge 206 is first received by accelerator device 202 via removablestorage device connector 210. Controller 212 may cache the data receivedfrom removable cartridge 206 in cache memory 216 prior to the data beingsent from accelerator device 202 to host computer 204 via host computerconnector 208. In this manner, data read by host computer 204 fromremovable cartridge 206 via accelerator device 202 may be cached incache memory 216. In some embodiments, accelerator device 202 mayinclude a type of cache memory 216 that allows cached data to be read byhost computer 204 at a speed greater than host computer 204 can readdata from removable cartridge 206.

Although voltage supplied by host computer 204 to accelerator device 202can be sufficient to operate accelerator device 202 substantially asdescribed herein, as shown in FIG. 2, accelerator device 202 may furtherinclude power source 214, which is coupled to controller 212. In theembodiment shown, power source 214 may be further classified as anuninterruptible power supply (UPS) 214. In general, UPS 214 can providesufficient energy to operate accelerator device 202 without requiringadditional energy from host computer 204. However, in some embodiments,UPS 214 is used primarily as a back-up or supplemental power source thatcan be used in situations when the power supply from host computer 204is terminated, e.g., as a result of a power failure to host computer 204or accelerator device 202 being decoupled from host computer 204, or notcapable of supplying sufficient voltage by itself for accelerator device202 to operate. For example, UPS 214 may provide sufficient energy tooperate accelerator device 202 only when additional energy from hostcomputer 204 is terminated.

Consequently, UPS 214 prevents data, which has been received byaccelerator device 202 from host computer but not yet sent fromaccelerator device 202 to removable hard disk cartridge 206, from beinglost as a result of the data not being successfully stored on removablehard disk cartridge 206. In such situations, UPS 214 may providesufficient voltage to allow the controller 212 to send the data cachedin cache memory 216 to removable hard disk cartridge 206, includingsupplying any voltage that may be required to write the data to harddisk cartridge 206. In addition, although memory cache 216 utilizesflash memory, i.e., non-volatile memory, which can store cached datawithout power, UPS 214 may also be used to supply voltage to a cachememory that utilizes SDRAM and/or DRAM, i.e., volatile memory, to storecached data even after the power supply from a host computer has beenterminated.

In some embodiments, UPS 214 may be utilized by accelerator device 202to allow host computer 204 to be decoupled from accelerator device 202prior to all the data sent from host computer 204 being successfullywritten to removable hard disk cartridge 206. For example, host computer204 may be electrically coupled to accelerator device 202 and removablecartridge 206 to send data to removable cartridge 206 via acceleratordevice 202. As described above, data sent from host computer 204 toremovable cartridge 206 may be cached to cache memory 216 by acceleratordevice 202 prior to accelerator device 202 sending the data to removablecartridge. Accordingly, at a certain point during the data transfer, allof the data intended to be transferred to removable cartridge 206 willhave been successfully sent by host computer 204 and stored to thecombination of accelerator device 202 and removable cartridge 206, butnot all the data will have be written to removable cartridge 206.

More specifically, the entire set of data intended to be transferredwill have been sent by host computer 204, and either: 1) a portion ofthat data set is cached on cache memory 216 and the remaining portion ofthe data set is already written to removable cartridge 206, or 2) all ofthe data set is cached on cache memory 216 and none of it has beenwritten to removable cartridge 206. In both scenarios, at this point auser may electrically decouple accelerator device 202 from host computer204 by disconnecting host computer connector 208 from host port 222.Despite the fact that the user has electrically decoupled host computer204 from removable storage media 206 as a result of disconnecting hostcomputer 204 from accelerator device 202, the remaining cached data canbe sent from accelerator device 202 to removable hard disk cartridge 206and written to removable hard disk cartridge 206 using only the voltagesupplied by UPS 214. Accordingly, by using the voltage supplied by UPS214, host computer 204 does not need to be electrically connected toremovable cartridge 206 and accelerator device 202 for the entire amountof time required for the data to be written to removable hard diskcartridge 206.

By using voltage supplied from UPS 214 to operate accelerator device202, the amount of voltage stored by UPS 214 may become partially orcompletely depleted. Accordingly, in addition to the uses of the voltagesupplied from host computer 204 to accelerator device 202 describedabove, in some embodiments, accelerator device 202 may also use thevoltage supplied from host computer to recharge UPS 214. For example,UPS 212 may include a capacitor that stores an amount of voltage whenfully charged that is sufficient to operate accelerator device 202without requiring additional voltage from host computer 204. However,when host computer 204 is initially connected to accelerator device 202,the capacitor 214 may not store a sufficient amount of voltage tooperate accelerator device 202 independently. Consequently, controller212 may control the voltage supplied by host computer 204 to acceleratordevice 202 so that the amount of voltage stored in capacitor 214 isincreased to a sufficient amount. At that time, controller 212 may alsocontrol the voltage from host computer 204 such that accelerator device202 may be operated while also increasing the amount of voltage storedin capacitor. Once the amount of voltage stored in capacitor 214 issufficient to operate accelerator device 202 independent of hostcomputer 204, controller 212 may discontinue the supply of host computer204 voltage to capacitor 214.

In some embodiments, the location where controller 212 sends datareceived from host computer 204 is dictated by the amount of voltagestored in UPS 214. As described above, controller 212 may cache datasent from host computer 204 to cache memory 216 prior to sending thedata to removable hard disk cartridge 206, or, alternatively, controller212 may send data sent from host computer 204 directly to removablecartridge without caching the data. For example, in some embodiments, attimes when UPS 214 does not store an amount of voltage sufficient tooperate accelerator device 202 without requiring additional power fromhost computer 204, controller 212 does not cache the data received fromhost computer 204 but instead sends the data directly to removablecartridge 206. Once the amount of voltage stored in UPS 214 meets atthreshold level, e.g., an amount of voltage sufficient to independentlyoperate accelerator device 202, control 212 may then cache the data sentfrom host computer 204 prior to sending the data to removable hard diskcartridge 206. Accordingly, the likelihood of losing data during thetransfer from host computer 204 to removable hard disk cartridge 206 viaaccelerator device 202 may be reduced.

As illustrated by FIG. 2, accelerator device 202 may include anindicator element 218 coupled to controller 212. In general, indicatorelement 218 indicates one or more conditions of accelerator device 202or a system using accelerator device 202 to a user. Indicator element202 may be any suitable element that can indicate to a user the presenceof one or more conditions, e.g., a light-emitting diode (LED) and thelike. In the embodiment shown in FIG. 2, indicator element 202 indicatesto a user when accelerator device 202 may be safely disconnected fromhost computer 204 and removable hard disk cartridge 206. For example,indicator element 202 may include an LED that illuminates when all ofthe data sent from host computer 204 to removable hard disk cartridge206 has been successfully stored to removable cartridge 206.Accordingly, a user may be informed that the transfer process has beencompleted.

In other embodiments, indicator element 218 may include more than oneLED, such as two LEDs. Controller 212 may cause the first LED to beilluminated only when power source 214 does not have sufficient voltageto operate accelerator device 202 independently from host computer 204.Controller 212 may cause the second LED to be illuminated whenaccelerator device 202 may be disconnected from host computer 204 by auser. For example, this second LED may be illuminated because all of thedata from the host computer has been sent and written to removablecartridge 206. Additionally, the second LED may be illuminatedbecause: 1) accelerator device 202 has received all of the data fromhost computer 204; 2) UPS 214 contains an amount of voltage sufficientto send and write the cached data to removable hard disk cartridge 206,and 3) all of the data is either cached in cache memory 216 and writtento removable cartridge 206, but not all the data is not stored onremovable cartridge 206. Accordingly, the second LED indicates to a userthat accelerator device 202 may be disconnected from host computer 204even though all of the data sent by host computer 204 has notnecessarily been written to removable cartridge 206.

Although FIGS. 1 and 2 illustrate embodiments of accelerator deviceshaving only a single removable storage device connector to connect to aremovable storage device, embodiments of the present invention are notlimited to only one storage device connector. Instead, in someembodiments, an accelerator device may include more than one storagedevice connector. Further, each of the storage device connectors mayconform to the same connection standard, or, alternatively, one or moreremovable storage device connectors may conform to different connectionstandards.

For example, FIG. 3 is a functional block diagram illustrating exemplaryaccelerator device 300 according to an embodiment of the presentinvention. Accelerator device 300 includes substantially similarelements as those described with respect to accelerator device 100except that accelerator device 300 includes first removable storagedevice connector 306A and second removable storage device connector 306Bas opposed to accelerator device 100, which only includes removabledevice connector 306. Accordingly, accelerator device 300 functionssubstantially as described with respect to accelerator device 100 exceptthat accelerator device 300 may be connected to two different removablestorage devices via first device connector 306A and second deviceconnector 306B. Accordingly, accelerator device 300 may be electricallycoupled to storage devices through two separate removable deviceconnectors 306A and 306B. In some embodiments, the two differentremovable storage devices may be connected to accelerator device 300 viaremovable device connectors 306A and 306B at the same time. Further, insome embodiments, first removable device connector 306A conforms to adifferent connection standard than second removable device connector306B. In such embodiments, accelerator device 300 may connect via firstand second removable device connectors 306A and 306B to two differentstorage devices even though the removable storage device have connectorsthat conform to different connection standards.

FIG. 4 is a schematic diagram illustrating an exemplary system 400according to an embodiment of the present invention. As illustrated byFIG. 4, system 400 includes an accelerator device 402, a host computer404 that includes a host computer port 422, a first removable storagedevice 406A, and a second removable storage device 406B. First removablestorage device 406A is shown as a Secure Digital (SD) flash memory card406A having card connector 424A. Second removable storage device 406B isshown as a USB flash drive 406B have drive connector 424B.

Accelerator device 402 includes a host connector 408, a first removablestorage device connector 410A, a second removable storage deviceconnector 410B, a controller 412, cache memory 414, and a power supply416, all of which are consistent with the corresponding featuresdescribed with respect to FIG. 3, and are provided on a printed circuitboard 420. In addition, accelerator device 402 functions substantiallysimilar to accelerator device 202 of FIG. 2, except that acceleratordevice 402 may connect to two different removable storage devices 406Aand 406B via connectors 410A and 410B, respectively, as opposed toaccelerator device 202, which only has a single removable storage deviceconnector 210.

As illustrated by FIG. 4, accelerator device 402 may be removablyconnected to host computer 404, flash memory card 406A and USB flashdrive 406B. Consequently, data may be transferred from host computer 404to flash memory card 406A via accelerator device 402, and data may alsobe transferred from host computer 404 to USB flash drive 406B viaaccelerator device 402. More specifically, as shown, card connector 424Aand first removable storage device connector 410A conform to the SecureDigital connector standard. Accordingly, card connector 424A connects tofirst removable storage device connecter 410A to electrically couple SDmemory card 406A and accelerator device 402. By electrically couplingthe accelerator device 402 to SD memory card 406A via first deviceconnector 410A and card connecter 424A, data may be transferred betweenaccelerator device 402 and SD memory card 406A.

Unlike card connector 424A and first removable storage device connector410A, as shown, drive connector 424B and second removable storage deviceconnector 410B conform to the Universal Serial Bus (USB) connectorstandard. Accordingly, drive connector 424B may be inserted into secondremovable storage device connecter 410B to electrically couple flashmemory drive 406B and accelerator device 402. By electrically couplingthe accelerator device 402 to flash memory drive 406B via second deviceconnector 410B and drive connecter 424B, data may be transferred betweenaccelerator device 402 and flash memory drive 406B.

Furthermore, host computer port 422 and host computer connector 408conform to the serial ATA (SATA) connector standard. Accordingly, hostcomputer connector 408 may be connected to host computer port 422 toelectrically couple host computer 404 to accelerator device 402. Whenelectrically coupled to one another via connector 408 and connector 422,data may be transferred between host computer 404 and accelerator device402.

SD memory card 406A and USB flash memory drive 406B both utilize flashmemory to store data. As described previously, an accelerator device caninclude a type of cache memory that allows data sent from a hostcomputer to be cached at a speed greater than the data can be written toa connected removable storage device from a host computer. In theembodiment illustrated in FIG. 4, memory cache 414 of accelerator device402 utilizes DRAM such that data sent by host computer 404 may be cachedby accelerator device 402 at a higher speed than the data could bewritten to SD memory card 406A or USB flash drive 406B. By caching thedata sent by host computer 404 to SD memory card 406A or flash drive406B, the time required for data sent from host computer 404 to besuccessfully written to the combination of accelerator device 404 and SDmemory card 406A or USB flash drive 406B is less than the time requiredfor the data to be successfully written to only SD memory card 406A orUSB flash drive 406B.

In some aspects, the present invention may be directed to a method forusing an accelerator device such as those described herein. FIG. 5 is aflow chart illustrating an exemplary method according to an embodimentof the present invention. In this case, the exemplary method of FIG. 6is described with reference to system 200 of FIG. 2, although the methodmay apply to other systems and devices, including those describedherein. As illustrated by FIG. 5, a user may electrically coupleaccelerator device 202 to host computer 204 (500). The user may thenelectrically couple removable storage device 206 to accelerator device202 (502), although a user may electrically couple removable storagedevice 206 to accelerator device 202 prior to coupling acceleratordevice 202 to the host computer 204. In general, the user mayelectrically couple accelerator device 202 to host computer 204 byconnecting host computer connector 208 of accelerator device 202 toconnector port 222 of host computer 204.

Similarly, the user may electrically couple accelerator device 202 toremovable storage device 206 by connecting removable storage deviceconnector 210 of the accelerator device 202 to cartridge connector 224of removable storage device 206. Once host computer 204 and removablestorage device 206 are electrically coupled to accelerator device 202,the user may send data from host computer 204 to removable storagedevice 206 via accelerator device 202 (504). When configured as such,accelerator device 202 may cache the data sent by host computer 204prior to sending the data to removable storage device 206 to be writtento the storage media of removable storage device 206.

FIG. 6 is a flow chart illustrating another exemplary method accordingto an embodiment of the present invention. The exemplary methodillustrated in FIG. 6 may be used with embodiments of acceleratordevices that include a power source, such as those described herein,that may provide sufficient energy to operate the accelerator devicewithout requiring additional energy from the host computer. In thiscase, the exemplary method of FIG. 6 is described with reference tosystem 200 of FIG. 1, although the method may apply to other systems anddevices, including those described herein. As indicated by FIG. 6, whenhost computer 204 and removable storage device 206 are electricallycoupled via accelerator device 202, a transfer of data from hostcomputer 204 to removable storage device 206 may be initiated (600). Atthat time, host computer 204 begins sending data to removable storagedevice 206 via accelerator device 202. Initially, accelerator devicecontroller 212 sends the data received from host computer 204 toremovable storage device 206 without caching the data. In addition, whenaccelerator device 202 begins to receive data from host computer 204, itdetermines whether the amount of energy stored in power source 214 issufficient to operate accelerator device 202 without also receivingenergy from host computer 204 (602).

If the amount of energy stored in the power source is determined to beinsufficient, then controller 212 continues to send the data receivedfrom host computer 204 directly to removable storage device 206 (602).In such cases, power source 214 may be periodically or continuallymonitored to determine when the amount of energy stored in power source214 becomes sufficient to operate accelerator device 202 withoutreceiving energy from host computer 204, e.g., as a result ofaccelerator device 202 using the voltage supplied by host computer 204to increase the amount of energy stored in power source 214.

When the amount of energy stored by power source 214 is sufficient,controller 212 causes the data received from host computer 204 to thecached in cache memory 216 prior to the data being sent to removablestorage device 204 (606). The type of memory used for cache memory 216allows the data received from host computer 204 to be cached at agreater speed than the data can be written to removable storage device206. As further illustrated by FIG. 6, accelerator device 202 maycontinue to cache the data until all of the data has been received fromhost computer 204. At that time, all of the data will be either cachedin cache memory 216 of accelerator device 202 or written to removablestorage device 206. Accelerator device 202 may then be disconnected fromhost computer 204 (610) and the remaining cached data can be sent andwritten to removable storage device 206 using only the amount of voltageprovided by accelerator device power source 214. Consequently, theexemplary method illustrated in FIG. 6 decreases the time required forhost computer 204 to be electrically coupled to removable storage device206 by utilizing accelerator device power source 214 to send theremaining cached data to removable storage device 206 without requiringadditional energy from host computer 204.

Although the present disclosure describes the connectors of anaccelerator device physically connecting directly to the correspondingremovable storage device connectors and host computer connectors,embodiments are not limited to such configuration. For example, one ormore connection adapters may be used to electrically couple anaccelerator device to a removable storage device or host computer. Asanother example, one or more extension members may be used to connectthe appropriate accelerator device connector to the correspondingconnector of a host computer or removable storage device.

Furthermore, although the present disclosure primarily provides examplesin which cache memory functions as a write cache, in some embodimentsthe cache memory may also function as a read cache. For example, a cachememory may be partitioned for read cache memory and write cache memory,either statically or dynamically. In such cases, data sent from aremovable storage device to a host computer via an accelerator device tobe read by host computer may be cached in cache memory prior to the databeing read by the host computer. This data may be cached in the cachememory such that a host computer may read the data directly from thecache memory of the accelerator device rather than the removable storagedevice. Further, in some cases data cached in the write cache memory,e.g., data sent by a host computer to be written to a removable storagedevice, may be moved to a read cache after the data is written from thecache memory to the removable storage device.

Similar to the data write speeds described above, the speed that datacan be read from a memory varies between the different types of memory.For example, data typically may be read from flash memory, DRAM, andSDRAM at a higher speed than that of a hard disk. Moreover, datatypically may be read from DRAM and SDRAM at a higher speed than flashmemory. Consequently, the speed at which data is read from cache memoryby a host computer depends on the type of memory used for the cachememory. Similarly, the speed at which data may be read from theremovable storage device by a host computer also depends on the type ofmemory used in the removable storage device.

Accordingly, in some embodiments, the type of memory used for a cachememory may allow data to be read by the host computer from the cachememory at a greater rate than data may be read by the host computer fromthe removable storage device. For example, an accelerator device that isconfigured to connect to a removable storage device that utilizes harddisk memory may include a cache memory that utilizes a memory type thatallows data to be read at a speed greater than data can be read from theremovable storage device, e.g., flash memory, DRAM or SDRAM.Consequently, such configurations may provide for an increase in thespeed that data may be read from a removable storage device by the hostcomputer via an accelerator device that includes a read cache memory.Although the first time that the data is read by the host computer itmay be read directly from the removable device via the acceleratordevice, the data may also be cached in the cache memory at that time bythe accelerator device. Accordingly, the host computer may read the datafrom the cache memory instead of the removable storage device any timesubsequent to the first time the data is read by the host computer fromthe removable storage device via the accelerator device. In this manner,data from a removable storage device may be read by a host computer viaan accelerator device at a greater rate than the data may be read by thehost computer directly from the removable storage device.

Various embodiments of the invention have been described. These andother embodiments are within the scope of the following claims.

1. An accelerator device comprising: a cache memory; a controllerelectrically coupled to the cache memory; a host computer connecterelectrically coupled to the controller, wherein the accelerator devicecan be electrically coupled to a host computer via the host computerconnector; and a removable storage device connector electrically coupledto the controller, wherein a removable storage device can beelectrically coupled to the accelerator device via the removable storagedevice connector, wherein when the accelerator device is electricallycoupled to the host computer and the removable storage device iselectrically coupled to the accelerator device, the controller cachesdata sent from the host computer to the removable storage device in thecache memory prior to the data being sent from the accelerator device tothe removable storage device.
 2. The accelerator device of claim 1,wherein the host computer connector conforms to a connector standardselected from a group consisting of: a personal computer memory cardinternational association (PCMCIA) standard, PC Card standard, a CardBusstandard, a Universal Serial Bus (USB) standard, a Universal Serial Bus2 (USB2) standard, an IEEE 1394 FireWire standard, a Small ComputerSystem Interface (SCSI) standard, Serial Attached SCSI (SAS), an AdvanceTechnology Attachment (ATA) standard, a serial ATA standard, aPeripheral Component Interconnect (PCI) standard, and a conventionalserial or parallel standard.
 3. The accelerator device of claim 1,wherein the removable storage device connector conforms to a connectorstandard associated with a removable storage device selected from agroup consisting of: a Compact Flash standard, a Smart Media standard, aMultiMedia Card standard, a Secure Digital standard, a Memory Stickstandard, an xD standard, Universal Serial Bus (USB) standard, aUniversal Serial Bus 2 (USB 2) standard, a Small Computer SystemInterface (SCSI) standard, Serial Attached SCSI (SAS), an AdvanceTechnology Attachment (ATA) standard, and a serial ATA (SATA) standard.4. The accelerator device of claim 1, wherein the cache memory comprisesat least one of flash memory, dynamic random access memory, andsynchronous dynamic random access memory.
 5. The accelerator device ofclaim 1, wherein data is written to the cache memory at a first rate andto the connected removable storage media device at a second rate,wherein the first rate is greater than the second rate.
 6. Theaccelerator device of claim 1, wherein the removable storage deviceconnector comprises a first removable storage device connector, theaccelerator device further comprising a second removable storage deviceconnector electrically coupled to the controller, wherein a firstremovable storage device can be electrically coupled to the acceleratordevice via the first removable storage device connector and a secondremovable storage device can be electrically coupled to the acceleratordevice via the second removable storage device connector.
 7. Theaccelerator device of claim 6, wherein the first removable storagedevice is a different type than the second removable storage device. 8.The accelerator device of claim 1, further comprising an indicatorelement coupled to the controller that indicates to a user that aconnected removable storage memory device may be safely removed.
 9. Theaccelerator device of claim 1, further comprising a power source coupledto the controller that provides sufficient energy to operate theaccelerator device without requiring additional energy from the hostcomputer.
 10. The accelerator device of claim 9, wherein the cachememory includes at least one of dynamic random access memory orsynchronous dynamic random access memory.
 11. The accelerator device ofclaim 9, wherein the power source stores an amount of voltage sufficientto allow the controller to send an amount of data stored in the cachememory to the removable storage device when the accelerator device isdecoupled from the host computer.
 12. The accelerator device of claim11, wherein the amount of data is approximately equal to a maximum datacapacity of the cache memory.
 13. The accelerator device of claim 11,further comprising an indicator element that indicates when the powersource contains the amount of voltage sufficient to allow the controllerto send the amount of data stored in the cache memory to the removablestorage device when the accelerator device is decoupled from the hostcomputer.
 14. The accelerator device of claim 11, wherein the powersource includes an uninterruptible power supply (UPS).
 15. Theaccelerator device of claim 14, wherein the UPS includes a capacitorcapable of storing the amount of voltage sufficient to allow thecontroller to send an amount of data stored in the memory cache to theremovable storage media device when the accelerator device is decoupledfrom the host computer.
 16. The device of claim 1, further comprising anuninterruptible power supply (UPS) that defines a capacity that canstore at least a sufficient voltage to allow the controller to send anamount of data stored in the cache memory to the removable storagedevice when the accelerator device is decoupled from the host computer,wherein: when the UPS stores the sufficient voltage and the acceleratordevice is electrically coupled to the host computer and the removablestorage device is electrically coupled to the accelerator device, thecontroller caches data sent from the host computer to the removablestorage device in the cache memory prior to the data being sent from theaccelerator device to the removable storage device; and when the UPSdoes not store the sufficient voltage and the accelerator device iselectrically coupled to the host computer and the removable storagedevice is electrically coupled to the accelerator device, the controllersends data sent from the host computer directly to the removable storagedevice.
 17. The device of claim 1, wherein when the accelerator deviceis electrically coupled to the host computer and the removable storagedevice is electrically coupled to the accelerator device, the controllercaches data sent from the removable storage device to the host computerin the cache memory prior to the data being sent from the acceleratordevice to the host computer.
 18. The device of claim 17, wherein data isread by the host computer from the cache memory at a first rate and fromthe connected removable storage media device at a second rate, whereinthe first rate is greater than the second rate.
 19. A method comprising:coupling an accelerator device to a host computer, the devicecomprising: a cache memory; a controller electrically coupled to thecache memory; a host computer connecter electrically coupled to thecontroller, wherein the accelerator device can be electrically coupledto the host computer via the host computer connector; and a removablestorage device connector electrically coupled to the controller, whereina removable storage device can be electrically coupled to theaccelerator device via the removable storage device connector; couplingthe removable storage device to the accelerator device via the removablememory device interface; and transferring data from the host computer tothe removable storage media device via the accelerator device, whereinthe controller caches data sent from the host computer to the removablestorage device in the cache memory prior to the data being sent from theaccelerator device to the removable storage device.
 20. The method ofclaim 19, wherein the accelerator device further comprises a powersource coupled to the controller, the method further comprisingdecoupling the accelerator device from the host computer after the datahas been sent to either the memory cache or removable storage device butbefore the data has been completely sent to the removable storage mediadevice, wherein the power source provides sufficient energy to completethe transfer of data from the memory cache to the removable storagedevice after the host computer has been decoupled from the acceleratordevice.
 21. A system comprising: a removable storage device; and anaccelerator device comprising: a cache memory; a controller electricallycoupled to the cache memory; a host computer connecter electricallycoupled to the controller, wherein the accelerator device can beelectrically coupled to a host computer via the host computer connector;and a removable storage device connector electrically coupled to thecontroller, wherein the removable storage device can be electricallycoupled to the accelerator device via the removable storage deviceconnector, wherein when the accelerator device is electrically coupledto the host computer and the removable storage device is electricallycoupled to the accelerator device, the controller caches data sent fromthe host computer to the removable storage device in the cache memoryprior to the data being sent from the accelerator device to theremovable storage device.
 22. The system of claim 21, further comprisingthe host computer.